package com.ccnode.codegenerator.taikaoback.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ccnode.codegenerator.taikaoback.entity.User;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * 用户服务接口
 */
public interface UserService {

    /**
     * 根据ID获取用户
     */
    User getById(String  id);

    /**
     * 根据用户名查询用户
     */
    User getByUsername(String username);

     /**
     * 根据手机号查询用户
     */
    User getByPhone(String phone);







    //以下代码未使用









    /**
     * 用户登录
     */
    User login(String username, String password);

    /**
     * 获取用户统计数据
     */
    Map<String, Object> getUserStats(String username);

    /**
     * 获取用户登录记录
     */
    List<Map<String, Object>> getLoginRecords(String username);

    /**
     * 修改密码
     */
    boolean changePassword(String username, String oldPassword, String newPassword);

    /**
     * 更新用户资料
     */
    boolean updateProfile(String username, User user);

    /**
     * 更新用户资料（支持文件上传）
     */
    boolean updateProfile(String username, User user, MultipartFile avatarFile);

    /**
     * 更新最后登录信息
     */
    void updateLastLoginInfo(String username, String ip);



    /**
     * 获取用户列表（分页）
     */
    IPage<User> getUserList(Integer page, Integer size, String username, String role, Integer status);

    /**
     * 添加用户
     */
    boolean addUser(User user);

    /**
     * 更新用户
     */
    boolean updateUser(User user);

    /**
     * 删除用户
     */
    boolean deleteUser(Long id);

    /**
     * 更新用户状态
     */

    boolean updateStatus(Long id, Integer status);

    /**
     * 更新用户密码
     */
    boolean updatePassword(String id, String newPassword);
}